[INFO] cloning repository https://github.com/Trevo-IoT/nxc
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Trevo-IoT/nxc" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTrevo-IoT%2Fnxc", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTrevo-IoT%2Fnxc'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 047da98a1ca45dc9cdc28d0174b7d0dbd6e111c5
[INFO] fixing Trevo-IoT/nxc against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTrevo-IoT%2Fnxc" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Trevo-IoT/nxc
[INFO] finished tweaking git repo https://github.com/Trevo-IoT/nxc
[INFO] tweaked toml for git repo https://github.com/Trevo-IoT/nxc written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Trevo-IoT/nxc on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Trevo-IoT/nxc already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] e5cc2ebe75aa58805fd5077e6c91c8d900538addd90fd27c0a15f232bf50e49c
[INFO] running `Command { std: "docker" "start" "e5cc2ebe75aa58805fd5077e6c91c8d900538addd90fd27c0a15f232bf50e49c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "e5cc2ebe75aa58805fd5077e6c91c8d900538addd90fd27c0a15f232bf50e49c" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e5cc2ebe75aa58805fd5077e6c91c8d900538addd90fd27c0a15f232bf50e49c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "e5cc2ebe75aa58805fd5077e6c91c8d900538addd90fd27c0a15f232bf50e49c" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Compiling memchr v2.4.0
[INFO] [stderr]     Checking regex-syntax v0.6.25
[INFO] [stderr]     Checking aho-corasick v0.7.18
[INFO] [stderr]     Checking regex v1.5.4
[INFO] [stderr]     Checking nxc v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/main.rs from 2018 edition to 2021
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.13s
[INFO] [stderr] crater-edition-check: nxc v0.1.0 (/opt/rustwide/workdir) updating edition from 2018 to 2021
[INFO] [stderr]     Checking nxc v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:519:21
[INFO] [stdout]     |
[INFO] [stdout] 519 | fn parse_assignment(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:523:25
[INFO] [stdout]     |
[INFO] [stdout] 523 | fn parse_assignment_sum(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:527:27
[INFO] [stdout]     |
[INFO] [stdout] 527 | fn parse_assignment_minus(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:531:26
[INFO] [stdout]     |
[INFO] [stdout] 531 | fn parse_assignment_mult(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:535:25
[INFO] [stdout]     |
[INFO] [stdout] 535 | fn parse_assignment_div(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:539:25
[INFO] [stdout]     |
[INFO] [stdout] 539 | fn parse_assignment_mod(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:543:16
[INFO] [stdout]     |
[INFO] [stdout] 543 | fn parse_delay(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:547:16
[INFO] [stdout]     |
[INFO] [stdout] 547 | fn parse_store(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:551:13
[INFO] [stdout]     |
[INFO] [stdout] 551 | fn parse_if(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:555:14
[INFO] [stdout]     |
[INFO] [stdout] 555 | fn parse_for(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:559:16
[INFO] [stdout]     |
[INFO] [stdout] 559 | fn parse_while(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:563:16
[INFO] [stdout]     |
[INFO] [stdout] 563 | fn parse_match(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:567:17
[INFO] [stdout]     |
[INFO] [stdout] 567 | fn parse_return(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:571:34
[INFO] [stdout]     |
[INFO] [stdout] 571 | fn parse_statement_function_call(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `arguments`, and `body` are never read
[INFO] [stdout]  --> src/parser.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |     Function {
[INFO] [stdout]   |     -------- fields in this variant
[INFO] [stdout] 6 |         name: String,
[INFO] [stdout]   |         ^^^^
[INFO] [stdout] 7 |         arguments: Vec<String>,
[INFO] [stdout]   |         ^^^^^^^^^
[INFO] [stdout] 8 |         body: Vec<Statement>,
[INFO] [stdout]   |         ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `AST` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `length`, and `data_size` are never read
[INFO] [stdout]   --> src/parser.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     Record {
[INFO] [stdout]    |     ------ fields in this variant
[INFO] [stdout] 11 |         name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 12 |         length: usize,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 13 |         data_size: usize,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AST` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `interval_ms`, and `body` are never read
[INFO] [stdout]   --> src/parser.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     Task {
[INFO] [stdout]    |     ---- fields in this variant
[INFO] [stdout] 16 |         name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 17 |         interval_ms: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 18 |         body: Vec<Statement>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AST` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `interface`, `packet`, `guard`, and `body` are never read
[INFO] [stdout]   --> src/parser.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     When {
[INFO] [stdout]    |     ---- fields in this variant
[INFO] [stdout] 21 |         interface: String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 22 |         packet: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 23 |         guard: Guard,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 24 |         body: Vec<Statement>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AST` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/parser.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |     Numeric(isize),
[INFO] [stdout]    |     ------- ^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Guard` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 30 -     Numeric(isize),
[INFO] [stdout] 30 +     Numeric(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/parser.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 |     Regex(String),
[INFO] [stdout]    |     ----- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Guard` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 31 -     Regex(String),
[INFO] [stdout] 31 +     Regex(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/parser.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub enum Statement {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] 36 |     Assignment {
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     AssignmentSum {
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     AssignmentMinus {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     AssignmentMult {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     AssignmentDiv {
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     AssignmentMod {
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     Delay {
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     Store {
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     If {
[INFO] [stdout]    |     ^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     For {
[INFO] [stdout]    |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     While {
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     Match {
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 |     Return {
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     FunctionCall(FunctionCall),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Statement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]    --> src/parser.rs:94:5
[INFO] [stdout]     |
[INFO] [stdout]  93 | pub enum Expression {
[INFO] [stdout]     |          ---------- variants in this enum
[INFO] [stdout]  94 |     Literal(Literal),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]  95 |     Equal(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]  96 |     NotEqual(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]  97 |     Less(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]  98 |     Greater(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]  99 |     LessOrEqual(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 100 |     GreaterOrEqual(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 101 |     Sum(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 102 |     Minus(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 103 |     Multiply(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 104 |     Division(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 105 |     Modulus(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 106 |     Guard(Box<Expression>, Guard),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 107 |     Time(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 108 |     Pipe(Box<Expression>, FunctionCall),
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 109 |     FunctionCall(FunctionCall),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Expression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `arguments` are never read
[INFO] [stdout]    --> src/parser.rs:114:5
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub struct FunctionCall {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 114 |     name: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 115 |     arguments: Vec<Box<Expression>>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FunctionCall` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Integer`, `String`, `Boolean`, and `Nil` are never constructed
[INFO] [stdout]    --> src/parser.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub enum Literal {
[INFO] [stdout]     |          ------- variants in this enum
[INFO] [stdout] 120 |     Integer(isize),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 121 |     String(String),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 122 |     Boolean(bool),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 123 |     Nil,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Literal` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:519:21
[INFO] [stdout]     |
[INFO] [stdout] 519 | fn parse_assignment(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:523:25
[INFO] [stdout]     |
[INFO] [stdout] 523 | fn parse_assignment_sum(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:527:27
[INFO] [stdout]     |
[INFO] [stdout] 527 | fn parse_assignment_minus(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:531:26
[INFO] [stdout]     |
[INFO] [stdout] 531 | fn parse_assignment_mult(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:535:25
[INFO] [stdout]     |
[INFO] [stdout] 535 | fn parse_assignment_div(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:539:25
[INFO] [stdout]     |
[INFO] [stdout] 539 | fn parse_assignment_mod(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:543:16
[INFO] [stdout]     |
[INFO] [stdout] 543 | fn parse_delay(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:547:16
[INFO] [stdout]     |
[INFO] [stdout] 547 | fn parse_store(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:551:13
[INFO] [stdout]     |
[INFO] [stdout] 551 | fn parse_if(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:555:14
[INFO] [stdout]     |
[INFO] [stdout] 555 | fn parse_for(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:559:16
[INFO] [stdout]     |
[INFO] [stdout] 559 | fn parse_while(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:563:16
[INFO] [stdout]     |
[INFO] [stdout] 563 | fn parse_match(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:567:17
[INFO] [stdout]     |
[INFO] [stdout] 567 | fn parse_return(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:571:34
[INFO] [stdout]     |
[INFO] [stdout] 571 | fn parse_statement_function_call(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `arguments`, and `body` are never read
[INFO] [stdout]  --> src/parser.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |     Function {
[INFO] [stdout]   |     -------- fields in this variant
[INFO] [stdout] 6 |         name: String,
[INFO] [stdout]   |         ^^^^
[INFO] [stdout] 7 |         arguments: Vec<String>,
[INFO] [stdout]   |         ^^^^^^^^^
[INFO] [stdout] 8 |         body: Vec<Statement>,
[INFO] [stdout]   |         ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `AST` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `length`, and `data_size` are never read
[INFO] [stdout]   --> src/parser.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     Record {
[INFO] [stdout]    |     ------ fields in this variant
[INFO] [stdout] 11 |         name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 12 |         length: usize,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 13 |         data_size: usize,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AST` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `interval_ms`, and `body` are never read
[INFO] [stdout]   --> src/parser.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     Task {
[INFO] [stdout]    |     ---- fields in this variant
[INFO] [stdout] 16 |         name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 17 |         interval_ms: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 18 |         body: Vec<Statement>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AST` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `interface`, `packet`, `guard`, and `body` are never read
[INFO] [stdout]   --> src/parser.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     When {
[INFO] [stdout]    |     ---- fields in this variant
[INFO] [stdout] 21 |         interface: String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 22 |         packet: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 23 |         guard: Guard,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 24 |         body: Vec<Statement>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AST` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/parser.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |     Numeric(isize),
[INFO] [stdout]    |     ------- ^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Guard` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 30 -     Numeric(isize),
[INFO] [stdout] 30 +     Numeric(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/parser.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 |     Regex(String),
[INFO] [stdout]    |     ----- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Guard` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 31 -     Regex(String),
[INFO] [stdout] 31 +     Regex(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/parser.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub enum Statement {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] 36 |     Assignment {
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     AssignmentSum {
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     AssignmentMinus {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     AssignmentMult {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     AssignmentDiv {
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     AssignmentMod {
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     Delay {
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     Store {
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     If {
[INFO] [stdout]    |     ^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     For {
[INFO] [stdout]    |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     While {
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     Match {
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 |     Return {
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     FunctionCall(FunctionCall),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Statement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]    --> src/parser.rs:94:5
[INFO] [stdout]     |
[INFO] [stdout]  93 | pub enum Expression {
[INFO] [stdout]     |          ---------- variants in this enum
[INFO] [stdout]  94 |     Literal(Literal),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]  95 |     Equal(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]  96 |     NotEqual(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]  97 |     Less(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]  98 |     Greater(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]  99 |     LessOrEqual(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 100 |     GreaterOrEqual(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 101 |     Sum(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 102 |     Minus(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 103 |     Multiply(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 104 |     Division(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 105 |     Modulus(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 106 |     Guard(Box<Expression>, Guard),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 107 |     Time(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 108 |     Pipe(Box<Expression>, FunctionCall),
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 109 |     FunctionCall(FunctionCall),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Expression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `arguments` are never read
[INFO] [stdout]    --> src/parser.rs:114:5
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub struct FunctionCall {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 114 |     name: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 115 |     arguments: Vec<Box<Expression>>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FunctionCall` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Integer`, `String`, `Boolean`, and `Nil` are never constructed
[INFO] [stdout]    --> src/parser.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub enum Literal {
[INFO] [stdout]     |          ------- variants in this enum
[INFO] [stdout] 120 |     Integer(isize),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 121 |     String(String),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 122 |     Boolean(bool),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 123 |     Nil,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Literal` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.48s
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr]     Checking nxc v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/main.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/parser.rs (14 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/parser.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |           $tokens.remove(0).value()
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout] ...
[INFO] [stdout] 213 |       let name = retrieve_tokenkind!(
[INFO] [stdout]     |  ________________-
[INFO] [stdout] 214 | |         tokens,
[INFO] [stdout] 215 | |         TokenKind::Identifier,
[INFO] [stdout] 216 | |         "The 'function' keyword requires an identifier"
[INFO] [stdout] 217 | |     )
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout] 218 |       .to_string();
[INFO] [stdout]     |        --------- borrow later used by call
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the macro `retrieve_tokenkind` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/parser.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |           $tokens.remove(0).value()
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout] ...
[INFO] [stdout] 234 |       let name = retrieve_tokenkind!(
[INFO] [stdout]     |  ________________-
[INFO] [stdout] 235 | |         tokens,
[INFO] [stdout] 236 | |         TokenKind::Identifier,
[INFO] [stdout] 237 | |         "The 'record' keyword requires an identifier"
[INFO] [stdout] 238 | |     )
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout] 239 |       .to_string();
[INFO] [stdout]     |        --------- borrow later used by call
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `retrieve_tokenkind` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/parser.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |           $tokens.remove(0).value()
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout] ...
[INFO] [stdout] 253 |       let name = retrieve_tokenkind!(
[INFO] [stdout]     |  ________________-
[INFO] [stdout] 254 | |         tokens,
[INFO] [stdout] 255 | |         TokenKind::Identifier,
[INFO] [stdout] 256 | |         "The 'task' keyword requires an identifier"
[INFO] [stdout] 257 | |     )
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout] 258 |       .to_string();
[INFO] [stdout]     |        --------- borrow later used by call
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `retrieve_tokenkind` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/parser.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |           $tokens.remove(0).value()
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout] ...
[INFO] [stdout] 274 |       let interface = retrieve_tokenkind!(
[INFO] [stdout]     |  _____________________-
[INFO] [stdout] 275 | |         tokens,
[INFO] [stdout] 276 | |         TokenKind::StringLiteral,
[INFO] [stdout] 277 | |         "The 'when' keyword requires a string literal"
[INFO] [stdout] 278 | |     )
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout] 279 |       .to_string();
[INFO] [stdout]     |        --------- borrow later used by call
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `retrieve_tokenkind` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/parser.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |           $tokens.remove(0).value()
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout] ...
[INFO] [stdout] 287 |       let packet = retrieve_tokenkind!(
[INFO] [stdout]     |  __________________-
[INFO] [stdout] 288 | |         tokens,
[INFO] [stdout] 289 | |         TokenKind::Identifier,
[INFO] [stdout] 290 | |         "Not found 'when' packet variable after right arrow (=>)"
[INFO] [stdout] 291 | |     )
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout] 292 |       .to_string();
[INFO] [stdout]     |        --------- borrow later used by call
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `retrieve_tokenkind` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/parser.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |           $tokens.remove(0).value()
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout] ...
[INFO] [stdout] 354 | /                 retrieve_tokenkind!(
[INFO] [stdout] 355 | |                     tokens,
[INFO] [stdout] 356 | |                     TokenKind::Identifier,
[INFO] [stdout] 357 | |                     "The arguments in function definition must be a identifier"
[INFO] [stdout] 358 | |                 )
[INFO] [stdout]     | |_________________- in this macro invocation
[INFO] [stdout] 359 |                   .to_string(),
[INFO] [stdout]     |                    --------- borrow later used by call
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `retrieve_tokenkind` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/parser.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |           $tokens.remove(0).value()
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout] ...
[INFO] [stdout] 424 |           let interval_ms = retrieve_tokenkind!(
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 425 | |             tokens,
[INFO] [stdout] 426 | |             TokenKind::IntegerLiteral,
[INFO] [stdout] 427 | |             "Not found task interval after @"
[INFO] [stdout] 428 | |         )
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout] 429 |           .parse::<isize>()
[INFO] [stdout]     |            ----- borrow later used by call
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `retrieve_tokenkind` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/parser.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |           $tokens.remove(0).value()
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout] ...
[INFO] [stdout] 213 |       let name = retrieve_tokenkind!(
[INFO] [stdout]     |  ________________-
[INFO] [stdout] 214 | |         tokens,
[INFO] [stdout] 215 | |         TokenKind::Identifier,
[INFO] [stdout] 216 | |         "The 'function' keyword requires an identifier"
[INFO] [stdout] 217 | |     )
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout] 218 |       .to_string();
[INFO] [stdout]     |        --------- borrow later used by call
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the macro `retrieve_tokenkind` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/parser.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |           $tokens.remove(0).value()
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout] ...
[INFO] [stdout] 234 |       let name = retrieve_tokenkind!(
[INFO] [stdout]     |  ________________-
[INFO] [stdout] 235 | |         tokens,
[INFO] [stdout] 236 | |         TokenKind::Identifier,
[INFO] [stdout] 237 | |         "The 'record' keyword requires an identifier"
[INFO] [stdout] 238 | |     )
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout] 239 |       .to_string();
[INFO] [stdout]     |        --------- borrow later used by call
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `retrieve_tokenkind` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/parser.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |           $tokens.remove(0).value()
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout] ...
[INFO] [stdout] 253 |       let name = retrieve_tokenkind!(
[INFO] [stdout]     |  ________________-
[INFO] [stdout] 254 | |         tokens,
[INFO] [stdout] 255 | |         TokenKind::Identifier,
[INFO] [stdout] 256 | |         "The 'task' keyword requires an identifier"
[INFO] [stdout] 257 | |     )
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout] 258 |       .to_string();
[INFO] [stdout]     |        --------- borrow later used by call
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `retrieve_tokenkind` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/parser.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |           $tokens.remove(0).value()
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout] ...
[INFO] [stdout] 274 |       let interface = retrieve_tokenkind!(
[INFO] [stdout]     |  _____________________-
[INFO] [stdout] 275 | |         tokens,
[INFO] [stdout] 276 | |         TokenKind::StringLiteral,
[INFO] [stdout] 277 | |         "The 'when' keyword requires a string literal"
[INFO] [stdout] 278 | |     )
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout] 279 |       .to_string();
[INFO] [stdout]     |        --------- borrow later used by call
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `retrieve_tokenkind` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/parser.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |           $tokens.remove(0).value()
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout] ...
[INFO] [stdout] 287 |       let packet = retrieve_tokenkind!(
[INFO] [stdout]     |  __________________-
[INFO] [stdout] 288 | |         tokens,
[INFO] [stdout] 289 | |         TokenKind::Identifier,
[INFO] [stdout] 290 | |         "Not found 'when' packet variable after right arrow (=>)"
[INFO] [stdout] 291 | |     )
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout] 292 |       .to_string();
[INFO] [stdout]     |        --------- borrow later used by call
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `retrieve_tokenkind` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/parser.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |           $tokens.remove(0).value()
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout] ...
[INFO] [stdout] 354 | /                 retrieve_tokenkind!(
[INFO] [stdout] 355 | |                     tokens,
[INFO] [stdout] 356 | |                     TokenKind::Identifier,
[INFO] [stdout] 357 | |                     "The arguments in function definition must be a identifier"
[INFO] [stdout] 358 | |                 )
[INFO] [stdout]     | |_________________- in this macro invocation
[INFO] [stdout] 359 |                   .to_string(),
[INFO] [stdout]     |                    --------- borrow later used by call
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `retrieve_tokenkind` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/parser.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |           $tokens.remove(0).value()
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout] ...
[INFO] [stdout] 424 |           let interval_ms = retrieve_tokenkind!(
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 425 | |             tokens,
[INFO] [stdout] 426 | |             TokenKind::IntegerLiteral,
[INFO] [stdout] 427 | |             "Not found task interval after @"
[INFO] [stdout] 428 | |         )
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout] 429 |           .parse::<isize>()
[INFO] [stdout]     |            ----- borrow later used by call
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `retrieve_tokenkind` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.04s
[INFO] [stderr] crater-edition-check: nxc v0.1.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking nxc v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/parser.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |           $tokens.remove(0).value()
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^       - temporary value is freed at the end of this statement
[INFO] [stdout]     |           |
[INFO] [stdout]     |           creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 213 |       let name = retrieve_tokenkind!(
[INFO] [stdout]     |  ________________-
[INFO] [stdout] 214 | |         tokens,
[INFO] [stdout] 215 | |         TokenKind::Identifier,
[INFO] [stdout] 216 | |         "The 'function' keyword requires an identifier"
[INFO] [stdout] 217 | |     )
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout] 218 |       .to_string();
[INFO] [stdout]     |        --------- borrow later used by call
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     = note: this error originates in the macro `retrieve_tokenkind` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/parser.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |           $tokens.remove(0).value()
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^       - temporary value is freed at the end of this statement
[INFO] [stdout]     |           |
[INFO] [stdout]     |           creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 234 |       let name = retrieve_tokenkind!(
[INFO] [stdout]     |  ________________-
[INFO] [stdout] 235 | |         tokens,
[INFO] [stdout] 236 | |         TokenKind::Identifier,
[INFO] [stdout] 237 | |         "The 'record' keyword requires an identifier"
[INFO] [stdout] 238 | |     )
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout] 239 |       .to_string();
[INFO] [stdout]     |        --------- borrow later used by call
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     = note: this error originates in the macro `retrieve_tokenkind` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/parser.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |           $tokens.remove(0).value()
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^       - temporary value is freed at the end of this statement
[INFO] [stdout]     |           |
[INFO] [stdout]     |           creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 253 |       let name = retrieve_tokenkind!(
[INFO] [stdout]     |  ________________-
[INFO] [stdout] 254 | |         tokens,
[INFO] [stdout] 255 | |         TokenKind::Identifier,
[INFO] [stdout] 256 | |         "The 'task' keyword requires an identifier"
[INFO] [stdout] 257 | |     )
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout] 258 |       .to_string();
[INFO] [stdout]     |        --------- borrow later used by call
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     = note: this error originates in the macro `retrieve_tokenkind` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/parser.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |           $tokens.remove(0).value()
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^       - temporary value is freed at the end of this statement
[INFO] [stdout]     |           |
[INFO] [stdout]     |           creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 274 |       let interface = retrieve_tokenkind!(
[INFO] [stdout]     |  _____________________-
[INFO] [stdout] 275 | |         tokens,
[INFO] [stdout] 276 | |         TokenKind::StringLiteral,
[INFO] [stdout] 277 | |         "The 'when' keyword requires a string literal"
[INFO] [stdout] 278 | |     )
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout] 279 |       .to_string();
[INFO] [stdout]     |        --------- borrow later used by call
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     = note: this error originates in the macro `retrieve_tokenkind` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/parser.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |           $tokens.remove(0).value()
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^       - temporary value is freed at the end of this statement
[INFO] [stdout]     |           |
[INFO] [stdout]     |           creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 213 |       let name = retrieve_tokenkind!(
[INFO] [stdout]     |  ________________-
[INFO] [stdout] 214 | |         tokens,
[INFO] [stdout] 215 | |         TokenKind::Identifier,
[INFO] [stdout] 216 | |         "The 'function' keyword requires an identifier"
[INFO] [stdout] 217 | |     )
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout] 218 |       .to_string();
[INFO] [stdout]     |        --------- borrow later used by call
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     = note: this error originates in the macro `retrieve_tokenkind` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/parser.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |           $tokens.remove(0).value()
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^       - temporary value is freed at the end of this statement
[INFO] [stdout]     |           |
[INFO] [stdout]     |           creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 287 |       let packet = retrieve_tokenkind!(
[INFO] [stdout]     |  __________________-
[INFO] [stdout] 288 | |         tokens,
[INFO] [stdout] 289 | |         TokenKind::Identifier,
[INFO] [stdout] 290 | |         "Not found 'when' packet variable after right arrow (=>)"
[INFO] [stdout] 291 | |     )
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout] 292 |       .to_string();
[INFO] [stdout]     |        --------- borrow later used by call
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     = note: this error originates in the macro `retrieve_tokenkind` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/parser.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |           $tokens.remove(0).value()
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^       - temporary value is freed at the end of this statement
[INFO] [stdout]     |           |
[INFO] [stdout]     |           creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 234 |       let name = retrieve_tokenkind!(
[INFO] [stdout]     |  ________________-
[INFO] [stdout] 235 | |         tokens,
[INFO] [stdout] 236 | |         TokenKind::Identifier,
[INFO] [stdout] 237 | |         "The 'record' keyword requires an identifier"
[INFO] [stdout] 238 | |     )
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout] 239 |       .to_string();
[INFO] [stdout]     |        --------- borrow later used by call
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     = note: this error originates in the macro `retrieve_tokenkind` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/parser.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |           $tokens.remove(0).value()
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^       - temporary value is freed at the end of this statement
[INFO] [stdout]     |           |
[INFO] [stdout]     |           creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 354 | /                 retrieve_tokenkind!(
[INFO] [stdout] 355 | |                     tokens,
[INFO] [stdout] 356 | |                     TokenKind::Identifier,
[INFO] [stdout] 357 | |                     "The arguments in function definition must be a identifier"
[INFO] [stdout] 358 | |                 )
[INFO] [stdout]     | |_________________- in this macro invocation
[INFO] [stdout] 359 |                   .to_string(),
[INFO] [stdout]     |                    --------- borrow later used by call
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     = note: this error originates in the macro `retrieve_tokenkind` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/parser.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |           $tokens.remove(0).value()
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^       - temporary value is freed at the end of this statement
[INFO] [stdout]     |           |
[INFO] [stdout]     |           creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 253 |       let name = retrieve_tokenkind!(
[INFO] [stdout]     |  ________________-
[INFO] [stdout] 254 | |         tokens,
[INFO] [stdout] 255 | |         TokenKind::Identifier,
[INFO] [stdout] 256 | |         "The 'task' keyword requires an identifier"
[INFO] [stdout] 257 | |     )
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout] 258 |       .to_string();
[INFO] [stdout]     |        --------- borrow later used by call
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     = note: this error originates in the macro `retrieve_tokenkind` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/parser.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |           $tokens.remove(0).value()
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^       - temporary value is freed at the end of this statement
[INFO] [stdout]     |           |
[INFO] [stdout]     |           creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 424 |           let interval_ms = retrieve_tokenkind!(
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 425 | |             tokens,
[INFO] [stdout] 426 | |             TokenKind::IntegerLiteral,
[INFO] [stdout] 427 | |             "Not found task interval after @"
[INFO] [stdout] 428 | |         )
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout] 429 |           .parse::<isize>()
[INFO] [stdout]     |            ----- borrow later used by call
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     = note: this error originates in the macro `retrieve_tokenkind` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/parser.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |           $tokens.remove(0).value()
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^       - temporary value is freed at the end of this statement
[INFO] [stdout]     |           |
[INFO] [stdout]     |           creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 274 |       let interface = retrieve_tokenkind!(
[INFO] [stdout]     |  _____________________-
[INFO] [stdout] 275 | |         tokens,
[INFO] [stdout] 276 | |         TokenKind::StringLiteral,
[INFO] [stdout] 277 | |         "The 'when' keyword requires a string literal"
[INFO] [stdout] 278 | |     )
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout] 279 |       .to_string();
[INFO] [stdout]     |        --------- borrow later used by call
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     = note: this error originates in the macro `retrieve_tokenkind` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/parser.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |           $tokens.remove(0).value()
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^       - temporary value is freed at the end of this statement
[INFO] [stdout]     |           |
[INFO] [stdout]     |           creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 287 |       let packet = retrieve_tokenkind!(
[INFO] [stdout]     |  __________________-
[INFO] [stdout] 288 | |         tokens,
[INFO] [stdout] 289 | |         TokenKind::Identifier,
[INFO] [stdout] 290 | |         "Not found 'when' packet variable after right arrow (=>)"
[INFO] [stdout] 291 | |     )
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout] 292 |       .to_string();
[INFO] [stdout]     |        --------- borrow later used by call
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     = note: this error originates in the macro `retrieve_tokenkind` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:519:21
[INFO] [stdout]     |
[INFO] [stdout] 519 | fn parse_assignment(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:523:25
[INFO] [stdout]     |
[INFO] [stdout] 523 | fn parse_assignment_sum(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:527:27
[INFO] [stdout]     |
[INFO] [stdout] 527 | fn parse_assignment_minus(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:531:26
[INFO] [stdout]     |
[INFO] [stdout] 531 | fn parse_assignment_mult(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:535:25
[INFO] [stdout]     |
[INFO] [stdout] 535 | fn parse_assignment_div(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:539:25
[INFO] [stdout]     |
[INFO] [stdout] 539 | fn parse_assignment_mod(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:543:16
[INFO] [stdout]     |
[INFO] [stdout] 543 | fn parse_delay(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:547:16
[INFO] [stdout]     |
[INFO] [stdout] 547 | fn parse_store(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:551:13
[INFO] [stdout]     |
[INFO] [stdout] 551 | fn parse_if(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:555:14
[INFO] [stdout]     |
[INFO] [stdout] 555 | fn parse_for(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:559:16
[INFO] [stdout]     |
[INFO] [stdout] 559 | fn parse_while(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:563:16
[INFO] [stdout]     |
[INFO] [stdout] 563 | fn parse_match(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:567:17
[INFO] [stdout]     |
[INFO] [stdout] 567 | fn parse_return(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:571:34
[INFO] [stdout]     |
[INFO] [stdout] 571 | fn parse_statement_function_call(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/parser.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |           $tokens.remove(0).value()
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^       - temporary value is freed at the end of this statement
[INFO] [stdout]     |           |
[INFO] [stdout]     |           creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 354 | /                 retrieve_tokenkind!(
[INFO] [stdout] 355 | |                     tokens,
[INFO] [stdout] 356 | |                     TokenKind::Identifier,
[INFO] [stdout] 357 | |                     "The arguments in function definition must be a identifier"
[INFO] [stdout] 358 | |                 )
[INFO] [stdout]     | |_________________- in this macro invocation
[INFO] [stdout] 359 |                   .to_string(),
[INFO] [stdout]     |                    --------- borrow later used by call
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     = note: this error originates in the macro `retrieve_tokenkind` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/parser.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |           $tokens.remove(0).value()
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^       - temporary value is freed at the end of this statement
[INFO] [stdout]     |           |
[INFO] [stdout]     |           creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 424 |           let interval_ms = retrieve_tokenkind!(
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 425 | |             tokens,
[INFO] [stdout] 426 | |             TokenKind::IntegerLiteral,
[INFO] [stdout] 427 | |             "Not found task interval after @"
[INFO] [stdout] 428 | |         )
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout] 429 |           .parse::<isize>()
[INFO] [stdout]     |            ----- borrow later used by call
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     = note: this error originates in the macro `retrieve_tokenkind` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0716`.
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:519:21
[INFO] [stdout]     |
[INFO] [stdout] 519 | fn parse_assignment(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:523:25
[INFO] [stdout]     |
[INFO] [stdout] 523 | fn parse_assignment_sum(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:527:27
[INFO] [stdout]     |
[INFO] [stdout] 527 | fn parse_assignment_minus(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:531:26
[INFO] [stdout]     |
[INFO] [stdout] 531 | fn parse_assignment_mult(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:535:25
[INFO] [stdout]     |
[INFO] [stdout] 535 | fn parse_assignment_div(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:539:25
[INFO] [stdout]     |
[INFO] [stdout] 539 | fn parse_assignment_mod(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:543:16
[INFO] [stdout]     |
[INFO] [stdout] 543 | fn parse_delay(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:547:16
[INFO] [stdout]     |
[INFO] [stdout] 547 | fn parse_store(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:551:13
[INFO] [stdout]     |
[INFO] [stdout] 551 | fn parse_if(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:555:14
[INFO] [stdout]     |
[INFO] [stdout] 555 | fn parse_for(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:559:16
[INFO] [stdout]     |
[INFO] [stdout] 559 | fn parse_while(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:563:16
[INFO] [stdout]     |
[INFO] [stdout] 563 | fn parse_match(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:567:17
[INFO] [stdout]     |
[INFO] [stdout] 567 | fn parse_return(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:571:34
[INFO] [stdout]     |
[INFO] [stdout] 571 | fn parse_statement_function_call(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `nxc` (bin "nxc" test) due to 7 previous errors; 14 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] For more information about this error, try `rustc --explain E0716`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `nxc` (bin "nxc") due to 7 previous errors; 14 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "e5cc2ebe75aa58805fd5077e6c91c8d900538addd90fd27c0a15f232bf50e49c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e5cc2ebe75aa58805fd5077e6c91c8d900538addd90fd27c0a15f232bf50e49c", kill_on_drop: false }`
[INFO] [stdout] e5cc2ebe75aa58805fd5077e6c91c8d900538addd90fd27c0a15f232bf50e49c
